25017
9093
Devo racchiudere tutte le istanze di% {...%} con  ...  A MENO CHE% {...} non appaia all'interno di un tag HTML. Ad esempio, questo:
"Oppure% {register_text} per un nuovo account  facendo clic qui ."
deve diventare questo
"Oppure % {register_text}  per un nuovo account  facendo clic qui ."
la mia espressione regolare attuale non tiene conto della situazione dei tag HTML:
x.gsub (/ [? !] / i) {| s | " # {s} "}
quindi mi chiedo come farlo in Ruby con regex.
Eventuali acquirenti? 
Non sono sicuro dello spazio di input, quindi questo è il meglio che posso trovare. Ho anche ripulito un po 'la regex lungo la strada.
/% \ {[\ w -] + \} (?! [^ <>]>) /
Per un HTML ben formato, corrisponderà solo ai token che sono al di fuori del tag. Se l'HTML non è corretto, non credo di essere all'altezza del compito di scrivere la regex.
Presumo anche che non ci sia Javascript incorporato nella pagina, poiché> e